/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tabeladesimbolos;

/**
 *
 * @author Gabriel Queiroz
 */

import java.util.HashMap;
import token.Token;

public class TabelaDeSimbolos {

     private HashMap<String,Item> tabela;

    public TabelaDeSimbolos(){
        tabela = new HashMap<String,Item>();
    }

    /**
     * Metodo para inserir um token na tabela de simbolos,
     * identifica se o token já existe, caso não exista insere
     * @param id
     * @param token
     */
    public void inserir(String id,Token token){

        //Pega o Item da tabela
        Item item = tabela.get(id);

        //Se o item não existe: cria e insere
        if(item == null){
            item = new Item(token.getValor());
            tabela.put(id, item);

        }

        //Linka o Item com o Token
        token.setItem(item);
    }

    /**
     * Metodo que busca um Item com base na String de identificação
     * Retorna a referencia para o item na tabela de simbolos
     * @param id
     * @return
     */
    public Item buscar(String id){

        return tabela.get(id);

    }

}
